package com.wuh.service;

import com.github.pagehelper.PageInfo;
import com.wuh.model.GroupAdminApply;
import com.wuh.model.GroupInfo;
import com.wuh.model.GroupUser;
import com.wuh.model.User;

import java.util.List;

public interface GroupService {
    //获取群列表
    PageInfo<GroupInfo> getGroups(GroupInfo groupInfo);

    List<GroupInfo> getGroups1(GroupInfo groupInfo);
    //建立新群
    void insertGroup(GroupInfo groupInfo);
    //通过id查找群组
    GroupInfo selectGroupById(Integer id);
    //用户加入群组 (用户可升级为管理员)
    void insertGroupUser(GroupUser groupUser);
    //查询获取用户信息
       List<GroupUser> getGroupUser(GroupUser groupUser);
    //退出群聊 删除群聊用户信息
    void deleteGroupUser(GroupUser groupuser);
    //解散群 删除群信息
    void deleteGroupInfo(Integer gid);
    //添加申请群管理员信息
    void insertApply(GroupAdminApply groupAdminApply);
    //删除群组附带删除的申请表信息
    void deleteApply(Integer gid);
    //获取加入群的人数
    int getCountByGroupId(Integer gid);
    //修改群资料
    void updateGroupInfo(GroupInfo groupInfo);
    //根据群id获取申请表信息
    List<GroupAdminApply> getGroupAdminApply(GroupAdminApply groupAdminApply);
    //修改申请表信息
    void updateGroupAdminApply(GroupAdminApply groupAdminApply);
    //修改群成员管理员
    void updateGroupUser(GroupUser groupUser);
    //获取管理员的数量
    int getAdminCountByGroupId(GroupUser groupUser);

}
